草庐IT

c++ - std::make_pair 与 c++ 11

全部标签

c++ - Visual Studio C++ : How to make parts of code not be seen by the windows compiler?

所以一般来说,我有一个基于OpenSource跨平台库的小型C++项目。所以它可能会在linux下编译。因此,当我需要实现一些特定于平台的特定类函数时,我捕获了要点。我有一个包含所有函数声明的类头和包含实现的cpp文件。所以首先:如何在header中声明我的平台特定函数,这样当我尝试在linux下编译时,它不会尝试编译特定于windows的函数……而在windows上,编译器不会尝试编译包含header等的linux函数。所以对于Windows,我需要一些如何包装这些super特定的函数HRESULTEnumerateDevices(REFGUIDcategory,IEnumMonik

c# - 从任何类型的文档中获取文本

有什么方法(Win32API或其他方法)可以从任何类型的窗口获取文本吗?我可以获得事件窗口的HWND,但是调用发送WM_GETTEXT消息并不总是给我文本(MSWord就是一个很好的例子)。我正在尝试制作一个通用的拼写检查器,用户可以从任何应用程序中按下热键组合并获得对其文本的更正。如果我想要整个文本、只选择文本或说出光标所在的单词,会有不同吗?我可以使用库或Win32API或其他任何东西接受c、c++或c#中的答案。如果有解决方案,但只能使用其他一些编程语言(这不太可能只能在Delphi中完成,而不是使用API的c,但无论如何),我也可以解决。 最佳答案

C: 如何获取Windows目录下的文件列表?

我正在尝试根据RFC959标准用C(学校作业)实现FTP服务器。我在使用LIST命令时遇到问题。RFC中写道:“这个命令导致一个列表从服务器发送到被动排版。如果路径名指定目录或其他文件组,服务器应传输文件列表在指定的目录中。如果路径名指定一个文件然后服务器应该发送当前信息文件。空参数表示用户当前的工作或默认目录。”我知道有GetCurrentDirectory等函数。是否有函数可以在MS-DOS命令提示符下获取诸如'dir'的输出?任何类似的东西都会有所帮助。提前致谢! 最佳答案 FindFirstFile&FindNextFile

c++ - std::tr1::shared_ptr 是否互斥?

我有一个包含BYTE*的类,一个引用计数器和一个CRITICAL_SECTION这可以保护它们免受并发访问。我想用std::tr1::shared_ptr替换所有这些.MSDN说:Multiplethreadscanreadandwritedifferentshared_ptrobjectsatthesametime,evenwhentheobjectsarecopiesthatshareownership.一切听起来都很好,直到我发现CRITICAL_SECTIONfromclass在它的外部使用来“锁定”它并以互斥的方式改变它的内容。好的,它破坏了封装,我想改变它。我知道share

c - 如何在 Windows 控制台中禁用 echo?

如何在Windows控制台C应用程序中禁用回显?我真的不想使用_getch(我仍然希望Ctrl-C)捕获字符。除了_getch似乎只为cmd禁用回显,但在cygwin中没有。必须有一种方法可以重定向管道或修改控制台设置。 最佳答案 也许SetConsoleMode(从codeguru偷来的):#include#include#includeintmain(){HANDLEhStdin=GetStdHandle(STD_INPUT_HANDLE);DWORDmode=0;GetConsoleMode(hStdin,&mode);Set

c++ - 如何使用 C 终止远程计算机上的进程?

平台:Windows语言:C/C++我需要一种方法来终止远程计算机上的进程,它实际上是一个对SERVICE_STOP命令没有响应的远程服务,有人知道我该怎么做吗? 最佳答案 要终止远程机器中的进程,您可以使用Win32_ProcessWMI类和Terminate方法和停止远程服务,您可以使用Win32_Service和StopService方法。这是一个C++示例:#include"stdafx.h"#define_WIN32_DCOM#includeusingnamespacestd;#include#include#pragma

c - 在 c 中获取进程 Cpu 使用情况

如何在c中获取进程Cpu使用情况?我需要每个进程和线程的Cpu使用率。请举个例子谢谢! 最佳答案 在纯C中,这是不可能的,但由于问题也被标记为“Windows”:CPU使用率是CPU时间除以实际时间。GetThreadTimes和GetProcessTimes函数为您提供该信息(以及其他功能,例如上面提到的JoachimPileborg的性能计数器,但我认为这个可能更容易)。您可能还想使用CreateToolhelp32Snapshot首先要知道存在哪些进程和线程。您需要将线程/进程ID转换为句柄,但我想这不会是一个大障碍(即Ope

c - gtk_entry_get_text 不工作

我在c中使用GTK2.2。我可以从其中一个条目中获取文本并使用类型转换将其转换为整数,但它不适用于第二个条目。由于某种原因,我设置为从第二个条目获取文本的变量保持为0。这是我的代码。button2_clicked部分不工作,但问题也可能出在button2g_signal连接上。#include#includeintprod,prod_amt,amt,amt_holder,tot_amt;staticvoidbutton3_clicked(GtkWidget*widget,gpointerwindow){GtkWidget*dialog;dialog=gtk_message_dialog

c++ - 'CloseToolhelp32Snapshot' : identifier not found

我正在使用基于“WIN32工具帮助功能”的内存监控库。在其源代码中调用了CreateToolhelp32Snapshot()、Heap32ListFirst()、Heap32ListNext()和CloseToolhelp32Snapshot()。我的问题是相关的windows头文件中没有CloseToolhelp32Snapshot()的原型(prototype)。我正在尝试为WindowsPC平台编译(确切地说是Win7,但我认为它与XP没有区别)。我在网上搜索了一下,一些中国人说我必须在PC平台上使用CloseHandle()而另一些人说它会产生内存泄漏。使用后如何正确关闭han

Win11安装虚拟机出现电脑蓝屏解决方案

**Win11安装虚拟机出现蓝屏解决方案**本机相关配置:联想小新-14win11家庭中文版VMwareWorkstation16Procentos7问题描述打开Vmware,点击启动centos7虚拟机的按钮,立刻出现蓝屏,如以下状况。**解决方案:**1.更新VMware版本。打开虚拟机,找到菜单栏的帮助选项,找到软件更新,出现如下弹出框,点击检查更新,更新至最新版本。更新安装完成之后即可解决蓝屏问题。也可以去VMware官网下载最新版本,进行安装。下载地址:https://www.vmware.com/cn/products/workstation-pro/workstation-pro